home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Graphismes / 3D / POV-Ray 3.0B5a PPC / POV-Ray 3.0B5a / POVSCN.Scenes / POVSCN / LEVEL2 / PAWNS.POV < prev    next >
Text File  |  1995-11-08  |  13KB  |  417 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2. // "Pawns", a study in wood... three pawns on a chessboard
  3. // File by Douglas Otwell
  4.  
  5. #version 3.0
  6. global_settings { assumed_gamma 1.8 }
  7.  
  8. #include "colors.inc"
  9. #include "shapes.inc"
  10. #include "textures.inc"
  11.  
  12. //
  13. //   Yellow pine, close grained
  14. //
  15. #declare Yellow_Pine = texture {
  16.    pigment {
  17.       wood
  18.       turbulence 0.02
  19.       color_map {
  20.          [0.000, 0.222  color red  0.808  green  0.671  blue  0.251  filter  0.000
  21.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  22.          [0.222, 0.342  color red  0.808  green  0.671  blue  0.251  filter  0.000
  23.                         color red  0.600  green  0.349  blue  0.043  filter  0.000]
  24.          [0.342, 0.393  color red  0.600  green  0.349  blue  0.043  filter  0.000
  25.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  26.          [0.393, 0.709  color red  0.808  green  0.671  blue  0.251  filter  0.000
  27.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  28.          [0.709, 0.821  color red  0.808  green  0.671  blue  0.251  filter  0.000
  29.                         color red  0.533  green  0.298  blue  0.027  filter  0.000]
  30.          [0.821, 1      color red  0.533  green  0.298  blue  0.027  filter  0.000
  31.                         color red  0.808  green  0.671  blue  0.251  filter  0.000]
  32.       }
  33.       scale 0.1
  34.       translate 10*x
  35.    }
  36. }
  37.  
  38. // Yellow_Pine layer 2
  39. texture {
  40.    pigment {
  41.       wood
  42.       turbulence 0.01
  43.       color_map {
  44.          [0.000, 0.120   color red  1.000  green  1.000  blue  1.000  filter  1.000
  45.                          color red  0.702  green  0.412  blue  0.118  filter  0.608]
  46.          [0.120, 0.231   color red  0.702  green  0.412  blue  0.118  filter  0.608
  47.                          color red  0.702  green  0.467  blue  0.118  filter  0.608]
  48.          [0.231, 0.496   color red  0.702  green  0.467  blue  0.118  filter  0.608
  49.                          color red  1.000  green  1.000  blue  1.000  filter  1.000]
  50.          [0.496, 0.701   color red  1.000  green  1.000  blue  1.000  filter  1.000
  51.                          color red  1.000  green  1.000  blue  1.000  filter  1.000]
  52.          [0.701, 0.829   color red  1.000  green  1.000  blue  1.000  filter  1.000
  53.                          color red  0.702  green  0.467  blue  0.118  filter  0.608]
  54.          [0.829, 1       color red  0.702  green  0.467  blue  0.118  filter  0.608
  55.                          color red  1.000  green  1.000  blue  1.000  filter  1.000]
  56.       }
  57.       scale 0.5 
  58.       translate 10*x
  59.    }
  60. }
  61.  
  62. //
  63. //   Rosewood
  64. //
  65. #declare Rosewood = texture {
  66.    pigment {
  67.       bozo
  68.       turbulence 0.04
  69.       color_map {
  70.          [0.000, 0.256   color red  0.204  green  0.110  blue  0.078  filter  0.000
  71.                          color red  0.231  green  0.125  blue  0.090  filter  0.000]
  72.          [0.256, 0.393   color red  0.231  green  0.125  blue  0.090  filter  0.000
  73.                          color red  0.247  green  0.133  blue  0.090  filter  0.000]
  74.          [0.393, 0.581   color red  0.247  green  0.133  blue  0.090  filter  0.000
  75.                          color red  0.204  green  0.110  blue  0.075  filter  0.000]
  76.          [0.581, 0.726   color red  0.204  green  0.110  blue  0.075  filter  0.000
  77.                          color red  0.259  green  0.122  blue  0.102  filter  0.000]
  78.          [0.726, 0.983   color red  0.259  green  0.122  blue  0.102  filter  0.000
  79.                          color red  0.231  green  0.125  blue  0.086  filter  0.000]
  80.          [0.983, 1       color red  0.231  green  0.125  blue  0.086  filter  0.000
  81.                          color red  0.204  green  0.110  blue  0.078  filter  0.000]
  82.       }
  83.       scale <0.5, 0.5, 1>
  84.       translate 10*x
  85.    }
  86.    finish {
  87.       ambient 0.5
  88.       diffuse 0.8
  89.    }
  90. }
  91.  
  92. // Rosewood layer 2
  93. texture {
  94.    pigment {
  95.       wood
  96.       turbulence 0.04
  97.       color_map {
  98.          [0.000, 0.139   color red  0.545  green  0.349  blue  0.247  filter  1.000
  99.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  100.          [0.139, 0.148   color red  0.000  green  0.000  blue  0.000  filter  0.004
  101.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  102.          [0.148, 0.287   color red  0.000  green  0.000  blue  0.000  filter  0.004
  103.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  104.          [0.287, 0.443   color red  0.545  green  0.349  blue  0.247  filter  1.000
  105.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  106.          [0.443, 0.626   color red  0.545  green  0.349  blue  0.247  filter  1.000
  107.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  108.          [0.626, 0.635   color red  0.000  green  0.000  blue  0.000  filter  0.004
  109.                          color red  0.000  green  0.000  blue  0.000  filter  0.004]
  110.          [0.635, 0.843   color red  0.000  green  0.000  blue  0.000  filter  0.004
  111.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  112.          [0.843, 1       color red  0.545  green  0.349  blue  0.247  filter  1.000
  113.                          color red  0.545  green  0.349  blue  0.247  filter  1.000]
  114.       }
  115.       scale <0.5, 0.5, 1>
  116.       translate <10, 0, 0>
  117.    }
  118.    finish {
  119.       ambient 0.5
  120.       diffuse 0.8
  121.    }
  122. }
  123.  
  124. //
  125. //   Sandalwood ( makes a great burled maple, too)
  126. //
  127. #declare Sandalwood = texture {
  128.    pigment {
  129.       bozo
  130.       turbulence 0.2
  131.       color_map {
  132.          [0.000, 0.171   color red  0.725  green  0.659  blue  0.455  filter  0.000
  133.                          color red  0.682  green  0.549  blue  0.420  filter  0.000]
  134.          [0.171, 0.274   color red  0.682  green  0.549  blue  0.420  filter  0.000
  135.                          color red  0.557  green  0.451  blue  0.322  filter  0.000]
  136.          [0.274, 0.393   color red  0.557  green  0.451  blue  0.322  filter  0.000
  137.                          color red  0.725  green  0.659  blue  0.455  filter  0.000]
  138.          [0.393, 0.564   color red  0.725  green  0.659  blue  0.455  filter  0.000
  139.                          color red  0.682  green  0.549  blue  0.420  filter  0.000]
  140.          [0.564, 0.701   color red  0.682  green  0.549  blue  0.420  filter  0.000
  141.                          color red  0.482  green  0.392  blue  0.278  filter  0.000]
  142.          [0.701, 1       color red  0.482  green  0.392  blue  0.278  filter  0.000
  143.                          color red  0.725  green  0.659  blue  0.455  filter  0.000]
  144.       }
  145.       scale <0.2, 0.2, 1>
  146.       scale 2
  147.    }
  148. }
  149. // Sandalwood layer 2
  150. texture {
  151.    pigment {
  152.       bozo
  153.       turbulence 0.8
  154.       color_map {
  155.          [0.000, 0.087   color red  0.682  green  0.604  blue  0.380  filter  1.000
  156.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  157.          [0.087, 0.226   color red  0.761  green  0.694  blue  0.600  filter  0.020
  158.                          color red  0.635  green  0.553  blue  0.325  filter  1.000]
  159.          [0.226, 0.348   color red  0.635  green  0.553  blue  0.325  filter  1.000
  160.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  161.          [0.348, 0.496   color red  0.761  green  0.694  blue  0.600  filter  0.020
  162.                          color red  0.682  green  0.604  blue  0.380  filter  1.000]
  163.          [0.496, 0.565   color red  0.682  green  0.604  blue  0.380  filter  1.000
  164.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  165.          [0.565, 0.661   color red  0.761  green  0.694  blue  0.600  filter  0.020
  166.                          color red  0.682  green  0.604  blue  0.380  filter  1.000]
  167.          [0.661, 0.835   color red  0.682  green  0.604  blue  0.380  filter  1.000
  168.                          color red  0.761  green  0.694  blue  0.600  filter  0.020]
  169.          [0.835, 1       color red  0.761  green  0.694  blue  0.600  filter  0.020
  170.                          color red  0.682  green  0.604  blue  0.380  filter  1.000]
  171.       }
  172.       scale 0.2
  173.       scale 2
  174.    }
  175. }
  176.  
  177. //
  178. //   Lights, Camera ...
  179. //
  180. camera {
  181.    location  <-8.0, 4.0, -14.0>
  182.    direction <0.0, 0.0, 2.0>
  183.    up        <0.0, 1.0, 0.0>
  184.    right     <4/3, 0.0, 0.0>
  185.    look_at   <-2.0, 0.0, -4.0>
  186. }
  187.  
  188. light_source { <100.0, 400.0, -600.0> color White }
  189.  
  190. //   a back-light to create a highlight on the board
  191. light_source { <12.0, 4.0, 12.0> color White }
  192.  
  193. //  We'll build our chessboard out of one big pine block and 32
  194. // little rosewood ones
  195. #declare Fours = union {
  196.    object { UnitBox
  197.       texture {
  198.          Rosewood
  199.          finish {
  200.             phong 0.3
  201.             ambient 0.5
  202.             diffuse 0.7
  203.             reflection 0.3
  204.          }
  205.       }
  206.       translate <-1, -1, 1>
  207.    }
  208.  
  209.    object { UnitBox
  210.       texture {
  211.          Rosewood
  212.          finish {
  213.             phong 0.3 
  214.             ambient 0.5
  215.             diffuse 0.7
  216.             reflection 0.3
  217.          }
  218.       }
  219.       translate <1, -1, -1>
  220.    }
  221.  
  222.    bounded_by { object { UnitBox scale <2, 1, 2> } }
  223. }
  224.  
  225. #declare Eights = union {
  226.    object { Fours
  227.       translate <-2, 0, 2>
  228.    }
  229.    object { Fours
  230.       translate <2, 0, 2>
  231.    }
  232.    object { Fours
  233.       translate <-2, 0, -2>
  234.    }
  235.    object { Fours
  236.       translate <2, 0, -2>
  237.    }
  238.  
  239.    bounded_by { object { UnitBox scale <4, 1, 4> } }
  240. }
  241.  
  242. //   Add another wood texture around the edges
  243. #declare rail = intersection {
  244.    object { UnitBox
  245.       scale <10, 0.25, 1>
  246.    }               
  247.  
  248.    plane { -x, 0 
  249.       rotate 45*y
  250.       translate -9*x
  251.    }
  252.  
  253.    plane { x, 0
  254.       rotate -45*y
  255.       translate 9*x
  256.    }
  257.  
  258.    translate <0, -0.25, -9>
  259.  
  260.    texture {
  261.       Sandalwood
  262.       finish { phong 0.4 }
  263.    }
  264. }
  265.  
  266. //
  267. //   Chessboard
  268. //
  269. #declare Chessboard = union {
  270.    object { Eights
  271.       translate <-4, 0, 4>
  272.    }
  273.    object { Eights
  274.       translate <4, 0, 4>
  275.    }
  276.    object { Eights
  277.       translate <-4, 0, -4>
  278.    }
  279.    object { Eights
  280.       translate <4, 0, -4>
  281.    }
  282.  
  283.    object { UnitBox
  284.       scale <8, 0.25, 8>
  285.       translate -0.25*y
  286.    }               
  287.  
  288.    object { rail rotate 0*y }
  289.    object { rail rotate 90*y }
  290.    object { rail rotate 180*y }
  291.    object { rail rotate 270*y }
  292.  
  293.    texture {
  294.       Yellow_Pine
  295.       finish {
  296.          phong 0.5
  297.          reflection 0.3
  298.       }
  299.       scale 2
  300.    }
  301.  
  302.    bounded_by { object { UnitBox scale <10, 1, 10> } }
  303. }
  304.  
  305. //
  306. //   Pawn
  307. //
  308. #declare pawn = union {
  309.    difference {
  310.       object { Disk_Y scale <8, 12.7468, 8> }
  311.       quartic {
  312.          < 1.0,  0.0,  0.0,   0.0,    2.0,  0.0,  0.0,  2.0,  0.0,-738.0,
  313.          0.0,  0.0,  0.0,   0.0,    0.0,  0.0,  0.0,  0.0,  0.0,   0.0,
  314.          1.0,  0.0,  0.0,   2.0,    0.0, 162.0,  0.0,  0.0,  0.0,   0.0,
  315.          1.0,   0.0, -738.0,   0.0,   6561.0>
  316.          sturm
  317.       }
  318.    }
  319.  
  320.    quartic {
  321.       < 1.0,  0.0,  0.0,   0.0,    2.0,  0.0,  0.0,  2.0,  0.0, -132.5,
  322.       0.0,  0.0,  0.0,   0.0,    0.0,  0.0,  0.0,  0.0,  0.0,   0.0,
  323.       1.0,  0.0,  0.0,   2.0,    0.0, 123.5,  0.0,  0.0,  0.0,   0.0,
  324.       1.0,  0.0, -132.5,  0.0,  3813.0625 >
  325.       sturm
  326.       translate -11.2468*y
  327.    }
  328.  
  329.    quartic {
  330.       < 1.0,  0.0,  0.0,   0.0,    2.0,  0.0,  0.0,  2.0,  0.0, -132.5,
  331.       0.0,  0.0,  0.0,   0.0,    0.0,  0.0,  0.0,  0.0,  0.0,   0.0,
  332.       1.0,  0.0,  0.0,   2.0,    0.0, 123.5,  0.0,  0.0,  0.0,   0.0,
  333.       1.0,  0.0, -132.5,  0.0,  3813.0625>
  334.       sturm
  335.       translate 11.2468*y
  336.    }
  337.  
  338.    //   Base
  339.    intersection {
  340.       object { Disk_Y
  341.          scale <12, 3, 12>
  342.          translate -15.7468*y
  343.       }
  344.       object { QCone_Y
  345.          translate -2*y
  346.       }
  347.    }
  348.  
  349.    //   Ball on top
  350.    sphere { <0, 17.7468, 0>, 7 }
  351.  
  352.    bounded_by { object { Disk_Y scale <14, 26, 14> } }
  353.  
  354.    translate 18.7468*y
  355.    scale 0.06
  356. }
  357.  
  358.  
  359. //   Now let's put the pieces together
  360.  
  361. object { Chessboard }
  362.  
  363. //   Pawn 1
  364. object { pawn
  365.    texture {
  366.       Yellow_Pine
  367.       finish { phong 0.8 }
  368.    }
  369.  
  370.    rotate 60*y
  371.    translate <-5, 0, -7>
  372. }
  373.  
  374. //   Pawn 2
  375. object { pawn
  376.    texture {
  377.       Yellow_Pine
  378.       finish { phong 0.8 }
  379.    }
  380.  
  381.    rotate 30*y
  382.    translate <1, 0, -1>
  383. }
  384.  
  385. //   Pawn 3
  386. object { pawn 
  387.    texture {
  388.       Rosewood
  389.       finish {
  390.          phong 1.0
  391.          ambient 0.5
  392.          diffuse 0.7
  393.       }
  394.    }
  395.  
  396.    rotate 30*y
  397.    translate <0.72, -0.24, 0>
  398.    rotate 96.2052*z
  399.    translate <1, 0, -5>
  400. }
  401.  
  402. //   a background glow to add interest
  403. sphere { <0, 0, 0>, 1000
  404.    inverse
  405.  
  406.    pigment {
  407.       gradient y
  408.       color_map {
  409.          [0.0  0.25  color Goldenrod color Goldenrod]
  410.          [0.25 0.46  color Goldenrod color Black]
  411.          [0.46 1.001 color Black color Black]
  412.       }
  413.       scale 2000
  414.       translate -1000*y
  415.    }
  416. }
  417.